define(["constant", "handlebars", "site"], function (Constant, Handlebars, site) {

    var UploadImage = {
        uploader: '',
        attachId: '',
        centerPosition: function (el) {
            var uiUtils = baidu.editor.ui.uiUtils;
            var vpRect = uiUtils.getViewportRect();
            var rect = uiUtils.getClientRect(el);
            var left = vpRect.width / 2 - rect.width / 2;
            var top = vpRect.height / 2 - rect.height / 2;

            el.style.left = Math.max(left, 0) + 'px';
            el.style.top = Math.max(top, 0) + 'px';
        },
        OSS_IMAGE_INIT: function (order_id, node_id) {
            var _that = this;
            var objdata = {
                upfile_nametype: 'random_name',//local_name random_name  上传文件的文件名类型
                url: localStorage.getItem('host') + "oss/getSignature.do"
            };
            // 当domReady的时候开始初始化
            $(".viewPic").unbind().on('click', function () {
                _that.attachId = $(this).data('id');
                /*if (!order_id) {
                 Constant.fn.Message('I', '请先录入订单');
                 //$("#viewPic").unbind();
                 return
                 }*/
                /*if(!attach_id){
                 $("#attachmentType").addClass('error');
                 Constant.fn.Message('I','请选择类型');
                 return
                 }*/

                timeout : 30000,
                    $.ajax({
                        type: "post",
                        url: objdata.url,
                        success: function (str) {
                            data = JSON.parse(str)
                            if (data.type > 0) {
                                try {
                                    var re = data.content;
                                    objdata.osssignature = {
                                        'key': re.dir,
                                        'policy': re.policy,
                                        'OSSAccessKeyId': re.accessId,
                                        'success_action_status': '200', //让服务端返回200,不然，默认会返回204
                                        'signature': re.signature,
                                        'callback': re.callback,
                                        'expire': re.expire,
                                        'host': re.host
                                    };
                                } catch (e) {
                                    alert("系统错误");
                                }

                            } else {
                                alert("结果为空");
                            }
                            $("#image_upload_pop").toggle();

                            //设置居中
                            _that.centerPosition($("#image_upload_pop .edui-dialog-body").get(0));
                        },
                        error: function (XMLHttpRequest, textStatus, errorThrown) {
                            // alert("ajax error");
                        },
                        complete: function (XMLHttpRequest, status) { //请求完成后最终执行参数
                            if (status == 'timeout') {
                                //alert('请求超时，请稍后再试！');
                            }
                        },
                        async: false
                    });

                if (_that.uploader) return;//界面已经存在，不去重新创建uploader了

                var $wrap = $('#uploader'),
                    // 图片容器
                    $queue = $('<ul class="filelist"></ul>').appendTo($wrap.find('.queueList')),

                    // 状态栏，包括进度和控制按钮
                    $statusBar = $wrap.find('.statusBar'),

                    // 文件总体选择信息。
                    $info = $statusBar.find('.info'),

                    // 上传按钮
                    $upload = $wrap.find('.uploadBtn'),

                    // 没选择文件之前的内容。
                    $placeHolder = $wrap.find('.placeholder'),

                    $progress = $statusBar.find('.progress').hide(),

                    // 添加的文件数量
                    fileCount = 0,

                    // 添加的文件总大小
                    fileSize = 0,

                    acceptExtensions = [".png", ".tif", ".TIF", ".pdf", ".doc", ".docx", ".jpg", ".jpeg", ".gif", ".bmp", ".xls", ".xlsx"].join('').replace(/\./g, ',').replace(/^[,]/, ''),

                    // 优化retina, 在retina下这个值是2
                    ratio = window.devicePixelRatio || 1,

                    // 缩略图大小
                    thumbnailWidth = 110 * ratio, thumbnailHeight = 110 * ratio,

                    // 可能有pedding, ready, uploading, confirm, done.
                    state = 'pedding',

                    // 所有文件的进度信息，key为file id
                    percentages = {},
                    // 判断浏览器是否支持图片的base64
                    isSupportBase64 = (function () {
                        var data = new Image();
                        var support = true;
                        data.onload = data.onerror = function () {
                            if (this.width != 1 || this.height != 1) {
                                support = false;
                            }
                        }
                        data.src = "";
                        return support;
                    })(),

                    // 检测是否已经安装flash，检测flash的版本
                    flashVersion = (function () {
                        var version;

                        try {
                            version = navigator.plugins['Shockwave Flash'];
                            version = version.description;
                        } catch (ex) {
                            try {
                                version = new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version');
                            } catch (ex2) {
                                version = '0.0';
                            }
                        }
                        version = version.match(/\d+/g);
                        return parseFloat(version[0] + '.' + version[1], 10);
                    })(),

                    supportTransition = (function () {
                        var s = document.createElement('p').style,
                            r = 'transition' in s || 'WebkitTransition' in s || 'MozTransition' in s || 'msTransition' in s || 'OTransition' in s;
                        s = null;
                        return r;
                    })(), _this = this;

                _this.imageList = [];
                if (!WebUploader.Uploader.support('flash') /* && WebUploader.browser.ie */) {

                    // flash 安装了但是版本过低。
                    if (flashVersion) {
                        (function (container) {
                            window['expressinstallcallback'] = function (state) {
                                switch (state) {
                                    case 'Download.Cancelled':
                                        alert('您取消了更新！')
                                        break;

                                    case 'Download.Failed':
                                        alert('安装失败')
                                        break;

                                    default:
                                        alert('安装已成功，请刷新！');
                                        break;
                                }
                                delete window['expressinstallcallback'];
                            };

                            var swf = './expressInstall.swf';
                            // insert flash object
                            var html = '<object type="application/' + 'x-shockwave-flash" data="' + swf + '" ';

                            if (WebUploader.browser.ie) {
                                html += 'classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" ';
                            }

                            html += 'width="100%" height="100%" style="outline:0">' + '<param name="movie" value="' + swf + '" />' + '<param name="wmode" value="transparent" />' + '<param name="allowscriptaccess" value="always" />' + '</object>';

                            container.html(html);

                        })($wrap);

                        // 压根就没有安装。
                    } else {
                        $wrap.html('<a href="http://www.adobe.com/go/getflashplayer" target="_blank" border="0"><img alt="get flash player" src="http://www.adobe.com/macromedia/style_guide/images/160x41_Get_Flash_Player.jpg" /></a>');
                    }

                    return;
                } else if (!WebUploader.Uploader.support()) {
                    alert('Web Uploader 不支持您的浏览器！');
                    return;
                }
                // 实例化
                _that.uploader = WebUploader.create({
                    pick: {
                        id: '#filePicker',
                        label: '点击选择图片'
                    },
                    resize: false,
                    duplicate: true,
                    accept: {
                        title: 'Images',
                        extensions: acceptExtensions,
                        // mimeTypes: 'filed/!*' //wuzhifeng 修改上传文件类型 图片的话 是
                        // image
                        mimeTypes: 'image/!*'
                    },
                    formData: {
                        uid: 123
                    },
                    dnd: '#edui114_body',
                    paste: '#uploader',
                    swf: '/tbpt/plugin/ueditor/third-party/webuploader/Uploader.swf',
                    chunked: false,
                    compress: false,
                    chunkSize: 512 * 1024,
                    server: objdata.osssignature.host,///tbpt/plugin/ueditor/jsp/controller.jsp?action=uploadimage
                    //http://oss.aliyuncs.com/ http://tbptfile.oss-cn-beijing.aliyuncs.com/
                    // runtimeOrder: 'flash',
                    // server:
                    // 'http://liaoxuezhi.fe.baidu.com/webupload/fileupload.php',
                    // server: 'http://www.2betop.net/fileupload.php',
                    //

                    // accept: {
                    // title: 'Images',
                    // extensions: 'gif,jpg,jpeg,bmp,png',
                    // mimeTypes: 'image/!*'
                    // },

                    // 禁掉全局的拖拽功能。这样不会出现图片拖进页面的时候，把图片打开。
                    disableGlobalDnd: false,
                    auto: false,// {Boolean} [可选] [默认值：false] 设置为 true
                    // 后，不需要手动调用上传，有文件选择即开始上传。
                    fileNumLimit: 300,// 验证文件总数量, 超出则不允许加入队列。
                    fileSizeLimit: 200 * 1024 * 1024, // 200 M
                    fileSingleSizeLimit: 110 * 1024 * 1024 // 50 M
                });

                // 拖拽时不接受 js, txt 文件。
                _that.uploader.on('dndAccept', function (items) {
                    var denied = false, len = items.length, i = 0,
                        // 修改js类型
                        unAllowed = 'text/plain;application/javascript ';

                    for (; i < len; i++) {
                        // 如果在列表里面
                        if (~unAllowed.indexOf(items[i].type)) {
                            denied = true;
                            break;
                        }
                    }

                    return !denied;
                });
                // 添加“添加文件”的按钮，
                _that.uploader.addButton({
                    id: '#filePicker2',
                    label: '继续添加'
                });

                _that.uploader.on('ready', function () {
                    window.uploader = _that.uploader;
                });

                //上传完成 服务器响应 不代表上传成功
                _that.uploader.on('uploadSuccess', function (file, ret) {
                    //console.log(fileCount);
                    var $file = $('#' + file.id);
                    if (ret._raw) {
                        _this.imageList.push({
                            succ: true
                        });
                        $file.append('<span class="success"></span>');
                        //图片
                        if (file.type == 'image/jpeg' || file.type == 'image/png' || file.type == 'image/tiff') {
                            var index = $file.index();
                            /*if ($file.index() == 0) {
                             $('#picStay').prepend('原图:<a sort="' + $file.index() + '" playHref="' + objdata.osssignature.host + "/" + file.path + '/tupian_compress" href="' + objdata.osssignature.host + "/" + file.path + '" target="_blank" >' + objdata.osssignature.host + "/" + file.path + '</a>');
                             $('#picStay').prepend('<img sort="' + $file.index() + '" src="' + objdata.osssignature.host + "/" + file.path + '?x-oss-process=image/resize,m_lfit,h_56,w_36" />');
                             } else {*/
                            var aSortArr = [];
                            if (!$('#picStay a').length) {
                                $('#picStay').prepend('原图:<a sort="' + index + '" playHref="' + objdata.osssignature.host + "/" + file.path + '/tupian_compress" href="' + objdata.osssignature.host + "/" + file.path + '" target="_blank" >' + objdata.osssignature.host + "/" + file.path + '</a>');
                            } else {
                                $.each($('#picStay a'), function (i, e) {
                                    if ($(e).attr('sort') < index) {
                                        aSortArr.push($(e).attr('sort'))
                                    }
                                })

                                if (aSortArr.length) {
                                    $("#picStay a").eq(aSortArr.length - 1).after('原图:<a sort="' + index + '" playHref="' + objdata.osssignature.host + "/" + file.path + '/tupian_compress" href="' + objdata.osssignature.host + "/" + file.path + '" target="_blank" >' + objdata.osssignature.host + "/" + file.path + '</a>');
                                }
                                else {
                                    $('#picStay').prepend('原图:<a sort="' + index + '" playHref="' + objdata.osssignature.host + "/" + file.path + '/tupian_compress" href="' + objdata.osssignature.host + "/" + file.path + '" target="_blank" >' + objdata.osssignature.host + "/" + file.path + '</a>');
                                }
                            }


                            var imgSortArr = [];
                            if (!$('#picStay img').length) {
                                $('#picStay').prepend('<img sort="' + index + '" src="' + objdata.osssignature.host + "/" + file.path + '?x-oss-process=image/resize,m_lfit,h_56,w_36" />');
                            } else {
                                $.each($('#picStay img'), function (i, e) {
                                    if ($(e).attr('sort') < index) {
                                        imgSortArr.push($(e).attr('sort'))
                                    }
                                })

                                if (imgSortArr.length) {
                                    $("#picStay img").eq(imgSortArr.length - 1).after('<img sort="' + index + '" src="' + objdata.osssignature.host + "/" + file.path + '?x-oss-process=image/resize,m_lfit,h_56,w_36" />');
                                } else {
                                    $('#picStay').prepend('<img sort="' + index + '" src="' + objdata.osssignature.host + "/" + file.path + '?x-oss-process=image/resize,m_lfit,h_56,w_36" />');
                                }
                            }
                            //$('#picStay').append('<img src="' + objdata.osssignature.host + "/" + file.path + '?x-oss-process=image/resize,m_fill,h_100,w_100" />');
                        }
                    } else {
                        showError(file.statusText);
                        $file.find('.error').text("失败").show();
                        console.log("上传失败");
                        $('body').append("上传失败");
                    }

                });

                _that.uploader.on('uploadBeforeSend', function (obj, data, headers) {
                    //TODO   如果同一个页面上传多次  需要处理签名逻辑   不用每次都签名
                    //debugger
                    //赋值参数
                    data = $.extend(data, objdata.osssignature);
                    headers['Access-Control-Allow-Origin'] = "*";

                    //设置文件路径
                    data.key = data.key + "/" + calculate_object_name(data.name, objdata.upfile_nametype);
                    obj.filepath = data.key;
                    obj.file.path = data.key;
                });

                //得到文件名 type local_name random_name
                function calculate_object_name(filename, type) {
                    if (type && type == 'local_name') {
                        return "${filename}";
                    } else {//随机生成文件名
                        var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
                        var maxPos = chars.length;
                        var random_string = '';
                        for (i = 0; i < 10; i++) {
                            random_string += chars.charAt(Math.floor(Math.random() * maxPos));
                        }
                        var pos = filename.lastIndexOf('.')
                        var suffix = ''
                        if (pos != -1) {
                            suffix = filename.substring(pos);
                        }
                        return random_string + new Date().getTime() + suffix;
                    }
                }

                // 当有文件添加进来时执行，负责view的创建
                function addFile(file) {
                    var $li = $('<li id="' + file.id + '">' + '<p class="title">' + file.name + '</p>' + '<p class="imgWrap"></p>' + '<p class="progress"><span></span></p>' + '</li>'),

                        $btns = $('<div class="file-panel">' + '<span class="cancel">删除</span>' + '<span class="rotateRight">向右旋转</span>' + '<span class="rotateLeft">向左旋转</span></div>').appendTo($li),
                        $prgress = $li.find('p.progress span'), $wrap = $li.find('p.imgWrap'),
                        $info = $('<p class="error"></p>'),

                        showError = function (code) {
                            switch (code) {
                                case 'exceed_size':
                                    text = '文件大小超出';
                                    break;

                                case 'interrupt':
                                    text = '上传暂停';
                                    break;

                                default:
                                    text = '上传失败，请重试';
                                    break;
                            }

                            $info.text(text).appendTo($li);
                        };

                    if (file.getStatus() === 'invalid') {
                        showError(file.statusText);
                    } else {
                        // @todo lazyload
                        $wrap.text('预览中');
                        _that.uploader.makeThumb(file, function (error, src) {
                            var img;

                            if (error) {
                                $wrap.text('不能预览');
                                return;
                            }

                            if (isSupportBase64) {
                                img = $('<img src="' + src + '">');
                                $wrap.empty().append(img);
                            }
                        }, thumbnailWidth, thumbnailHeight);

                        percentages[file.id] = [file.size, 0];
                        file.rotation = 0;
                    }


                    file.on('statuschange', function (cur, prev) {
                        if (prev === 'progress') {
                            $prgress.hide().width(0);
                        } else if (prev === 'queued') {
                            $li.off('mouseenter mouseleave');
                            $btns.remove();
                        }
                        // 成功
                        if (cur === 'error' || cur === 'invalid') {
                            console.log(file.statusText);
                            showError(file.statusText);
                            percentages[file.id][1] = 1;
                        } else if (cur === 'interrupt') {
                            showError('interrupt');
                        } else if (cur === 'queued') {
                            percentages[file.id][1] = 0;
                        } else if (cur === 'progress') {
                            $info.remove();
                            $prgress.css('display', 'block');
                        } else if (cur === 'complete') {
                            //$li.append('<span class="success"></span>');
                        }

                        $li.removeClass('state-' + prev).addClass('state-' + cur);
                    });
                    _that.uploader.on('uploadAccept', function (file, response) {
                        var hasError = (response['error'] !== undefined);
                        if (hasError) {
                            // 通过return false来告诉组件，此文件上传有错。
                            return false;
                        }
                        ;
                    });
                    _that.uploader.on("uploadFinished", function () {
                        // uploader.reset();
                        // uploader;
                    });

                    $li.on('mouseenter', function () {
                        $btns.stop().animate({
                            height: 30
                        });
                    });

                    $li.on('mouseleave', function () {
                        $btns.stop().animate({
                            height: 0
                        });
                    });

                    $btns.on('click', 'span', function () {
                        var index = $(this).index(), deg;

                        switch (index) {
                            case 0:
                                _that.uploader.removeFile(file);
                                return;

                            case 1:
                                file.rotation += 90;
                                break;

                            case 2:
                                file.rotation -= 90;
                                break;
                        }

                        if (supportTransition) {
                            deg = 'rotate(' + file.rotation + 'deg)';
                            $wrap.css({
                                '-webkit-transform': deg,
                                '-mos-transform': deg,
                                '-o-transform': deg,
                                'transform': deg
                            });
                        } else {
                            $wrap.css('filter', 'progid:DXImageTransform.Microsoft.BasicImage(rotation=' + (~~((file.rotation / 90) % 4 + 4) % 4) + ')');
                        }

                    });

                    $li.appendTo($queue);
                }

                // 负责view的销毁
                function removeFile(file) {
                    var $li = $('#' + file.id);

                    delete percentages[file.id];
                    updateTotalProgress();
                    $li.off().find('.file-panel').off().end().remove();
                }

                function updateTotalProgress() {
                    var loaded = 0, total = 0, spans = $progress.children(), percent;

                    $.each(percentages, function (k, v) {
                        total += v[0];
                        loaded += v[0] * v[1];
                    });

                    percent = total ? loaded / total : 0;

                    spans.eq(0).text(Math.round(percent * 100) + '%');
                    spans.eq(1).css('width', Math.round(percent * 100) + '%');
                    updateStatus();
                }

                function updateStatus() {
                    var text = '', stats;

                    if (state === 'ready') {
                        text = '选中' + fileCount + '张图片，共' + WebUploader.formatSize(fileSize) + '。';
                    } else if (state === 'confirm') {
                        stats = _that.uploader.getStats();
                        if (stats.uploadFailNum) {
                            text = '已成功上传' + stats.successNum + '张照片，' + stats.uploadFailNum + '张照片上传失败，<a class="retry" href="#">重新上传</a>失败图片或<a class="ignore" href="#">忽略</a>'
                        }

                    } else {
                        stats = _that.uploader.getStats();
                        text = '共' + fileCount + '张（' + WebUploader.formatSize(fileSize) + '），已上传' + stats.successNum + '张';

                        if (stats.uploadFailNum) {
                            text += '，失败' + stats.uploadFailNum + '张';
                        }
                    }

                    $info.html(text);
                }

                function setState(val) {
                    var file, stats;

                    if (val === state) {
                        return;
                    }

                    $upload.removeClass('state-' + state);
                    $upload.addClass('state-' + val);
                    state = val;

                    switch (state) {
                        case 'pedding':
                            $placeHolder.removeClass('element-invisible');
                            $queue.hide();
                            $statusBar.addClass('element-invisible');
                            _that.uploader.refresh();
                            break;

                        case 'ready':
                            $placeHolder.addClass('element-invisible');
                            $('#filePicker2').removeClass('element-invisible');
                            $queue.show();
                            $statusBar.removeClass('element-invisible');
                            _that.uploader.refresh();
                            $upload.text('开始上传').removeClass('disabled');
                            break;

                        case 'uploading':
                            $('#filePicker2').addClass('element-invisible');
                            $progress.show();
                            $upload.text('暂停上传');
                            break;

                        case 'paused':
                            $progress.show();
                            $upload.text('继续上传');
                            break;

                        case 'confirm':
                            $progress.hide();
                            $upload.text('开始上传').addClass('disabled');

                            stats = _that.uploader.getStats();
                            if (stats.successNum && !stats.uploadFailNum) {
                                setState('finish');
                                return;
                            }
                            break;
                        case 'finish':
                            stats = _that.uploader.getStats();
                            if (stats.successNum) {

                                // WuZhiFeng

                            } else {
                                // 没有成功的图片，重设
                                state = 'done';
                                location.reload();
                            }
                            $('#filePicker2').removeClass('element-invisible');
                            $upload.text('开始上传').removeClass('disabled');
                            break;
                    }

                    updateStatus();
                }

                _that.uploader.onUploadProgress = function (file, percentage) {
                    var $li = $('#' + file.id), $percent = $li.find('.progress span');

                    $percent.css('width', percentage * 100 + '%');
                    if ($.isEmptyObject(percentages)) {
                        return false;
                    }
                    percentages[file.id][1] = percentage;
                    updateTotalProgress();
                };

                _that.uploader.onFileQueued = function (file) {
                    fileCount++;
                    fileSize += file.size;

                    if (fileCount === 1) {
                        $placeHolder.addClass('element-invisible');
                        $statusBar.show();
                    }

                    addFile(file);
                    setState('ready');
                    updateTotalProgress();
                };

                _that.uploader.onFileDequeued = function (file) {
                    fileCount--;
                    fileSize -= file.size;

                    if (!fileCount) {
                        setState('pedding');
                    }

                    removeFile(file);
                    updateTotalProgress();

                };

                _that.uploader.on('all', function (type) {
                    var stats;
                    switch (type) {
                        case 'uploadFinished':
                            setState('confirm');
                            break;

                        case 'startUpload':
                            setState('uploading');
                            break;

                        case 'stopUpload':
                            setState('paused');
                            break;

                    }

                });

                _that.uploader.onError = function (code) {
                    if (code == 'Q_TYPE_DENIED') {
                        alert("不支持该文件类型，请选择图片类型文件");
                    }
                    if (code == 'Q_EXCEED_NUM_LIMIT') {
                        alert("只能上传单张图片");
                    }
                    // alert( 'Eroor: ' + code );
                };

                $upload.on('click', function () {
                    if ($(this).hasClass('disabled')) {
                        return false;
                    }

                    if (state === 'ready') {
                        _that.uploader.upload();
                    } else if (state === 'paused') {
                        _that.uploader.upload();
                    } else if (state === 'uploading') {
                        _that.uploader.stop();
                    }
                });

                $info.on('click', '.retry', function () {
                    _that.uploader.retry();
                });

                $info.on('click', '.ignore', function () {
                    alert('todo');
                });

                $upload.addClass('state-' + state);
                updateTotalProgress();


            });
        },
        resetUploader: function () {
            if (this.uploader) {
                //重新设置页面
                for (var i = 0; i < this.uploader.getFiles().length; i++) {
                    this.uploader.removeFile(this.uploader.getFiles()[i]);
                }
                this.uploader.reset();
            }
            $('.webuploader-element-invisible').val('');
        },
        init: function () {
            var _that = this;
            //var uploader;
            //var attachId;

            $(".closed").unbind().on('click', function () {
                _that.resetUploader();
                $('#image_upload_pop').toggle();
                $("#picStay").html("");
            })

            $(".sure").unbind().on('click', function () {

                var attachImg = [];
                var attachimg = [];
                var flag2 = false;
                $('#image_upload_pop').toggle();
                _that.resetUploader();

                var img = $("#picStay a");

                if (img.length) {
                    $.each(img, function (i, e) {
                        attachImg.push(
                            {
                                playHref: $(e).attr('playhref'),
                                href: $(e).attr('href'),
                                attachId: _that.attachId
                            }
                        );
                    })

                    $.each(img, function (i, e) {
                        attachimg.push($(e).attr('href'))
                    })

                    var sameAttach = $('[attachid=' + _that.attachId + '] li');
                    if (sameAttach.length) {
                        $.each(sameAttach, function (i, e) {
                            attachimg.push($(e).attr('href'))
                        })
                    }
                }

                if (attachImg.length) {
                    if ($('[attachId]').length) {
                        $.each($('[attachId]'), function (i, e) {
                            if (attachImg[0].attachId == $(e).attr('attachId')) {
                                $.each(attachImg, function (ii, ee) {
                                    if (Constant.fn.getFileType(ee.href) == 'pdf') {
                                        $(e).append('<a href=' + Constant.fn.getFileName(ee.href) + ' target="_blank">' + ee.href + '</a>')
                                    }
                                    else {
                                        $(e).append('<li href=\"' + ee.href + '\">   \n' +
                                            '<img class="img_00" url="' + ee.href + '" src="' + ee.playHref + '">\n' +
                                            '<i class="delSingleAttach iconfont icon-minus">\n' +
                                            '</i>\n' +
                                            '</li>')
                                    }
                                })

                                $("#picStay").html("");
                                flag2 = false;
                            }
                        })

                        if (flag2) {
                            $('#image_list').append("<tr><td>" + data.content[0].attachName + "</td><td class=\"minImg\"><div id=\"gallery" + data.content[0].attachId + "\" attachName=\"" + data.content[0].attachName + "\" attachId=\"" + data.content[0].attachId + "\" allid=" + data.content[0].id + "></div></td><td><i class=\"delAttach iconfont icon-shanchu\"></i></td></tr>");
                            $.each(attachImg, function (ii, ee) {
                                var gallery = $('[attachId=' + ee.attachId + ']');
                                if (Constant.fn.getFileType(ee.href) == 'pdf') {
                                    gallery.append('<a href=' + Constant.fn.getFileName(ee.href) + ' target="_blank">' + ee.href + '</a>')
                                } else {
                                    gallery.append('<li href=\"' + ee.href + '\">   \n' +
                                        '<img class="img_00" url="' + ee.href + '" src="' + ee.playHref + '">\n' +
                                        '<i class="delSingleAttach iconfont icon-minus">\n' +
                                        '</i>\n' +
                                        '</li>')
                                }
                            })

                            //imgList(data.content[0].attachId);
                            $("#picStay").html("");
                        }
                    }

                    else {
                        $('#image_list').append("<tr><td>" + data.content[0].attachName + "</td><td class=\"minImg\"><div id=\"gallery" + data.content[0].attachId + "\" attachName=\"" + data.content[0].attachName + "\" attachId=\"" + data.content[0].attachId + "\" allid=" + data.content[0].id + "></div></td><td><i class=\"delAttach iconfont icon-shanchu\"></i></td></tr>");
                        $.each(attachImg, function (ii, ee) {
                            var gallery = $('[attachId=' + ee.attachId + ']');
                            if (Constant.fn.getFileType(ee.href) == 'pdf') {
                                gallery.append('<a href=' + Constant.fn.getFileName(ee.href) + ' target="_blank">' + ee.href + '</a>')
                            } else {
                                gallery.append('<li href=\"' + ee.href + '\">   \n' +
                                    '<img class="img_00" url="' + ee.href + '" src="' + ee.playHref + '">\n' +
                                    '<i class="delSingleAttach iconfont icon-minus">\n' +
                                    '</i>\n' +
                                    '</li>')
                            }
                        })

                        //imgList(data.content[0].attachId);
                        $("#picStay").html("");
                    }
                    Constant.fn.initScroll();
                    $('.visitWinbox .winBox1').viewer('destroy').viewer();
                }
                //删除单张图片
                $('.delSingleAttach').unbind().on('click', function (e) {
                    e.stopPropagation();
                    e.preventDefault();
                    $(this).parents('li').remove();
                    Constant.fn.initScroll();
                })

            })

            this.OSS_IMAGE_INIT();

            var _onTitlebarMouseDown = function (event, el) {
                var uiUtils = baidu.editor.ui.uiUtils;
                var domUtils = baidu.editor.dom.domUtils;
                var rect;
                var me = this;
                var dialogId = el.getAttribute('id');//'image_upload_pop';

                var safeSetOffset = function (offset) {
                    // var me = this;
                    var el = getDom();
                    var vpRect = uiUtils.getViewportRect();
                    var rect = uiUtils.getClientRect(el);
                    var left = offset.left;
                    if (left + rect.width > vpRect.right) {
                        left = vpRect.right - rect.width;
                    }
                    var top = offset.top;
                    if (top + rect.height > vpRect.bottom) {
                        top = vpRect.bottom - rect.height;
                    }
                    el.style.left = Math.max(left, 0) + 'px';
                    el.style.top = Math.max(top, 0) + 'px';
                }
                var getDom = function (name) {
                    if (!name) {
                        return document.getElementById(dialogId);
                    } else {
                        return document.getElementById(dialogId + '_' + name);
                    }
                };

                uiUtils.startDrag(event, {
                    ondragstart: function () {
                        rect = uiUtils.getClientRect(getDom());
                        // me.getDom('contmask').style.visibility = 'visible';
                        // me.dragMask.show(me.getDom().style.zIndex - 1);
                    },
                    ondragmove: function (x, y) {
                        var left = rect.left + x;
                        var top = rect.top + y;
                        safeSetOffset({
                            left: left,
                            top: top
                        });
                    },
                    ondragstop: function () {
                        // me.getDom('contmask').style.visibility = 'hidden';
                        // domUtils.removeClasses(me.getDom(), ['edui-state-centered']);
                        // me.dragMask.hide();
                    }
                });

            };
        }
    }

    return UploadImage;
})